cmake_minimum_required(VERSION 3.23)
project(Concurrence)

set(CMAKE_CXX_STANDARD 20)

set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -O2  -Wall")

set(LIB_DIR ./lib)

include_directories(${LIB_DIR}/googletest/googletest/include)
include_directories(lib)
include_directories(lib/evpp)
include_directories(learn)
include_directories(component)
include_directories(component/Stack)
include_directories(component/Queue)
include_directories(activity)
include_directories(test)

#add_subdirectory(${LIB_DIR}/googletest lib)


#add_executable(Concurrence component/Queue/benchmark/evpp.cpp)
add_executable(Concurrence component/Queue/benchmark/correct.cpp)
#add_executable(Concurrence main.cpp lib/utils.cpp test/test.cpp)

#add_executable(Concurrence learn/4.1.cpp )
#add_executable(prime_number_v0 exercise/exercise1/problem1/src/prime_number_v0.cpp)
#add_executable(prime_number_v1 exercise/exercise1/problem1/src/prime_number_v1.cpp exercise/exercise1/problem1/src/miller_rabin.cpp lib/utils.cpp)
#add_executable(prime_number_v2 exercise/exercise1/problem1/src/prime_number_v2.cpp exercise/exercise1/problem1/src/miller_rabin.cpp lib/utils.cpp)

#add_executable(dining_philosophers_v0 exercise/exercise1/problem2/src/dining_philosophers_v0.cpp lib/utils.cpp)
#add_executable(dining_philosophers_v1 exercise/exercise1/problem2/src/dining_philosophers_v1.cpp lib/utils.cpp)
#add_executable(dining_philosophers_v2 exercise/exercise1/problem2/src/dining_philosophers_v2.cpp lib/utils.cpp)
#add_executable(dining_philosophers_v3 exercise/exercise1/problem2/src/dining_philosophers_v3.cpp lib/utils.cpp)



#target_link_libraries(Concurrence /home/edward/code/C++/c-concurrent-programming/lib/libevpp.so)
target_link_libraries(Concurrence evpp)
target_link_libraries(Concurrence pthread tbb)
#target_link_libraries(Concurrence gtest glog)

